package cn.wolfcode.service;

import cn.wolfcode.domain.UserInfo;

import java.util.List;

public interface IUserInfoService {
    /**
     * 保存用户信息
     *
     * @param userInfo
     */
    void save(UserInfo userInfo);

    /**
     * 删除用户信息
     *
     * @param id
     */
    void delete(String id);

    /**
     * 修改用户信息
     *
     * @param userInfo
     */
    void update(UserInfo userInfo);

    /**
     * 查询单个用户
     *
     * @param id
     * @return
     */
    UserInfo get(String id);

    /**
     * 查询全部
     *
     * @return
     */
    List<UserInfo> list();

    /**
     * 查询手机号是否被注册
     *
     * @param phone:用户手机号码
     * @return :返回查询出的手机号
     */
    String checkPhone(String phone);

    /**
     * 查询用户名是否重复
     * @param name
     * @return
     */
    String checkName(String name);

    /**
     * 用户注册
     * @param phone:手机号
     * @param nickname:昵称
     * @param password:密码
     * @param rpassword:确认密码
     * @param verifyCode:验证码
     */
    void regist(String phone, String nickname, String password, String rpassword, String verifyCode);

    /**
     * 根据账号和密码查询用户
     * @param username:账号(手机号)
     * @param password:密码
     * @return :返回查询到的用户
     */
    UserInfo findByPhoneAndPassword(String username, String password);
}
